●CoversthreeARMinstructionsetarchitectures,theARMv6andARMv7-A,aswellasthreeARMcores,theARM11ontheRaspberryPi,Cortex-A9ontheXilinxZynq7020,andCortex-A15ontheNVIDIATegraK1
●DescribeshowtofullyleveragethefacilitiesofferedbytheLinuxoperatingsystem,includingtheLinuxGCCcompilertoolchainanddebugtools,performancemonitoringsupport,OpenMPmulticoreruntimeenvironment,videoframebuffer,andvideocapturecapabilities
●DesignedtoaccompanyandworkwithmostofthelowcostLinux/ARMembeddeddevelopmentboardscurrentlyavailable
EmbeddedSystems:ARMProgrammingandOptimizationcombinesanexplorationoftheARMarchitecturewithanexaminationofthefacilitiesofferedbytheLinuxoperatingsystemtoexplainhowvariousfeaturesofprogramdesigncaninfluenceprocessorperformance.Itdemonstratesmethodsbywhichaprogrammercanoptimizeprogramcodeinawaythatdoesnotimpactitsbehaviorbutimprovesitsperformance.Severalapplications,includingimagetransformations,fractalgeneration,imageconvolution,andcomputervisiontasks,areusedtodescribeanddemonstratethesemethods.Fromthis,thereaderwillgaininsightintocomputerarchitectureandapplicationdesign,aswellasgainpracticalknowledgeintheareaofembeddedsoftwaredesignformodernembeddedsystems.